As technology advances, data storage is increasingly important and the amount of data stored is increasing rapidly. Correspondingly, the size of data storage arrays and their demands for storage have increased rapidly. Ever increasing amounts of data are required to be highly available and protected from corruption or damage caused by any of a variety of factors, such as natural disasters and power failures, etc. As a result, increasingly complex data storage clusters are used to satisfy the demands for data storage and retrieval.
Similarly, virtualization of computers and/or operating systems has become increasingly important to enable server consolidation such that many small physical servers can be replaced by one larger physical server. This results in increased and more efficient utilization of costly hardware resources such as central processing units (CPU), thereby allowing power savings and hardware cost savings.
Virtual environments typically include virtualized computers and/or operating systems known as virtual machines which require access to storage. Access to storage is typically provided in two ways: physical access paths (e.g., direct attached dedicated adapters, network port identifier virtualization (NPIV), I/O virtualization (IOV), etc.) and virtual access paths. Physical access paths allow the virtual machine to have access to the actual physical adapter and then to the storage. With virtual access paths, a virtual input/output (I/O) server forwards I/O requests to the storage. When virtual access paths are used the virtual machine or guest sees the virtual paths and does not see the actual physical paths to storage or actual storage. That is, the details of the storage backend are hidden from the virtual machine. For example, where storage exported to virtual machines includes multiple storage enclosures, the virtual machines cannot distinguish between storage from different enclosures due to virtualization and thus will only treat the storage as coming from a single large enclosure. This virtualization of storage prevents a variety of storage management activity as specific storage device information is not made available.
Thus, a need exists to make storage information available in virtual environments when using virtual access paths such that storage management may be performed.